package com.zeus.controller;

import com.zeus.JsonWebToken.JWTUtil;
import com.zeus.pojo.Comment;
import com.zeus.service.CommentService;
import com.zeus.util.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;
import java.util.Date;

/**
 * @author 冯扬龙
 * @date 2021/6/10 12:36
 */
@Controller
@RequestMapping("/comment")
public class CommentController {

    @Autowired
    private CommentService commentService;

    /**
     * 前端：
     * 查看详情：
     * 点击发布你的评论，可以实现对评论的评论进行回复
     * 发布功能测试，点击发布评论，前端带过来postid和parentid和发布的内容，用comment来接收
     */
    @RequestMapping("/addComment")
    @ResponseBody
    public R addComment(@RequestBody Comment comment, HttpServletRequest request) {
//        拿到评论以后，先设置一下发布评论的当前时间，再把所有的信息返回给前端
        comment.setCtime(new Date());
        String token = request.getHeader("token");
        String username = JWTUtil.getUserName(token);
        comment.setUname(username);
        int i = commentService.addComment(comment);
        if (i > 0) {
            return R.ok();//成功就返回200状态码给前端，前端作出相应的操作或者是跳转
        } else {
            return R.fail("发布失败，网络不好请等会儿再试");
        }
    }

////    对发布的评论进行过滤
//    @RequestMapping("/filter")
//    @ResponseBody
//    public R filterTireNode(@RequestBody Comment comment){
//
//        //敏感词字符串数组
//        String[] words = {"我草尼玛", "色情狂", "三级片", "血腥暴力", "你妈逼", "傻逼"};
//
//        //创建TrieTree实例，初始化加入words的六个敏感词
//        TrieTree trieTree = new TrieTree(words);
//
//        //过滤前的句子
//        String sentence = comment.getContent();
//        if(sentence != null){
//            //调用TrieTree示例的方法，将句子进行敏感词过滤
//            String filtrated = trieTree.filtrate(sentence);
//            return R.ok();
//        }
//        return R.fail("网络不好，请稍等一会儿");
//    }

}
